home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.1B1 / AIncludes / Printing.a < prev    next >
Encoding:
Text File  |  1995-04-18  |  15.8 KB  |  672 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Printing.a
  3. ;
  4. ;    Contains:    Print Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Package:    Universal Interfaces 2.1ß1 in “MPW Prerelease” on ETO #17
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__PRINTING__') = 'UNDEFINED' THEN
  21. __PRINTING__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__ERRORS__') = 'UNDEFINED' THEN
  25.     include 'Errors.a'
  26.     ENDIF
  27. ;        include 'ConditionalMacros.a'                                ;
  28.  
  29.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  30.     include 'Quickdraw.a'
  31.     ENDIF
  32. ;        include 'Types.a'                                            ;
  33. ;        include 'MixedMode.a'                                        ;
  34. ;        include 'QuickdrawText.a'                                    ;
  35.  
  36.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  37.     include 'Dialogs.a'
  38.     ENDIF
  39. ;        include 'Memory.a'                                            ;
  40. ;        include 'Windows.a'                                        ;
  41. ;            include 'Events.a'                                        ;
  42. ;                include 'OSUtils.a'                                ;
  43. ;            include 'Controls.a'                                    ;
  44. ;                include 'Menus.a'                                    ;
  45. ;        include 'TextEdit.a'                                        ;
  46.  
  47. iPFMaxPgs                        EQU        128
  48. iPrPgFract                        EQU        120                    ;Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract
  49. iPrPgFst                        EQU        1                    ;Page range constants
  50. iPrPgMax                        EQU        9999
  51. iPrRelease                        EQU        3                    ;Current version number of the code.
  52. iPrSavPFil                        EQU        -1
  53. iPrAbort                        EQU        $0080
  54. iPrDevCtl                        EQU        7                    ;The PrDevCtl Proc's ctl number
  55. lPrReset                        EQU        $00010000            ;The PrDevCtl Proc's CParam for reset
  56. lPrLineFeed                        EQU        $00030000
  57. lPrLFStd                        EQU        $0003FFFF            ;The PrDevCtl Proc's CParam for std paper advance
  58. lPrLFSixth                        EQU        $0003FFFF
  59. lPrPageEnd                        EQU        $00020000            ;The PrDevCtl Proc's CParam for end page
  60. lPrDocOpen                        EQU        $00010000
  61. lPrPageOpen                        EQU        $00040000
  62. lPrPageClose                    EQU        $00020000
  63. lPrDocClose                        EQU        $00050000
  64. iFMgrCtl                        EQU        8                    ;The FMgr's Tail-hook Proc's ctl number
  65. iMscCtl                            EQU        9                    ;The FMgr's Tail-hook Proc's ctl number
  66. iPvtCtl                            EQU        10                    ;The FMgr's Tail-hook Proc's ctl number
  67.  
  68. pPrGlobals                        EQU        $00000944            ;The PrVars lo mem area:
  69. bDraftLoop                        EQU        0
  70. bSpoolLoop                        EQU        1
  71. bUser1Loop                        EQU        2
  72. bUser2Loop                        EQU        3
  73. fNewRunBit                        EQU        2
  74. fHiResOK                        EQU        3
  75. fWeOpenedRF                        EQU        4
  76. ;Driver constants 
  77. iPrBitsCtl                        EQU        4
  78. lScreenBits                        EQU        0
  79. lPaintBits                        EQU        1
  80. lHiScreenBits                    EQU        $00000002            ;The Bitmap Print Proc's Screen Bitmap param
  81. lHiPaintBits                    EQU        $00000003            ;The Bitmap Print Proc's Paint [sq pix] param
  82. iPrIOCtl                        EQU        5
  83. iPrEvtCtl                        EQU        6                    ;The PrEvent Proc's ctl number
  84. lPrEvtAll                        EQU        $0002FFFD            ;The PrEvent Proc's CParam for the entire screen
  85. lPrEvtTop                        EQU        $0001FFFD            ;The PrEvent Proc's CParam for the top folder
  86. iPrDrvrRef                        EQU        -3
  87.  
  88. getRslDataOp                    EQU        4
  89. setRslOp                        EQU        5
  90. draftBitsOp                        EQU        6
  91. noDraftBitsOp                    EQU        7
  92. getRotnOp                        EQU        8
  93. NoSuchRsl                        EQU        1
  94. OpNotImpl                        EQU        2                    ;the driver doesn't support this opcode
  95. RgType1                            EQU        1
  96.  
  97. feedCut                            EQU        0
  98. feedFanfold                        EQU        1
  99. feedMechCut                        EQU        2
  100. feedOther                        EQU        3
  101.  
  102. ; typedef SInt8             TFeed
  103.  
  104. scanTB                            EQU        0
  105. scanBT                            EQU        1
  106. scanLR                            EQU        2
  107. scanRL                            EQU        3
  108.  
  109. ; typedef SInt8             TScan
  110. ; A Rect Ptr 
  111. ; typedef Rect                 *TPRect
  112. TPrPort                 RECORD    0
  113. gPort                     ds     GrafPort ; offset: $0 (0)        ;The Printer's graf port.
  114. gProcs                     ds     QDProcs    ; offset: $6C (108)        ;..and its procs
  115. lGParam1                 ds.l   1        ; offset: $A0 (160)        ;16 bytes for private parameter storage.
  116. lGParam2                 ds.l   1        ; offset: $A4 (164)
  117. lGParam3                 ds.l   1        ; offset: $A8 (168)
  118. lGParam4                 ds.l   1        ; offset: $AC (172)
  119. fOurPtr                     ds.b   1        ; offset: $B0 (176)        ;Whether the PrPort allocation was done by us.
  120. fOurBits                 ds.b   1        ; offset: $B1 (177)        ;Whether the BitMap allocation was done by us.
  121. sizeof                     EQU *            ; size:   $B2 (178)
  122.                         ENDR
  123.  
  124. ; typedef struct TPrPort     TPrPort, *TPPrPort
  125. ; Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  126. ;  This is the "PrPeek" record. 
  127. TPrInfo                 RECORD    0
  128. iDev                     ds.w   1        ; offset: $0 (0)        ;Font mgr/QuickDraw device code
  129. iVRes                     ds.w   1        ; offset: $2 (2)        ;Resolution of device, in device coordinates
  130. iHRes                     ds.w   1        ; offset: $4 (4)        ;..note: V before H => compatable with Point.
  131. rPage                     ds     Rect    ; offset: $6 (6)        ;The page (printable) rectangle in device coordinates.
  132. sizeof                     EQU *            ; size:   $E (14)
  133.                         ENDR
  134.  
  135. ; typedef struct TPrInfo     TPrInfo, *TPPrInfo
  136. ; Print Info Record: The parameters needed for page composition. 
  137. TPrStl                     RECORD    0
  138. wDev                     ds.w   1        ; offset: $0 (0)
  139. iPageV                     ds.w   1        ; offset: $2 (2)
  140. iPageH                     ds.w   1        ; offset: $4 (4)
  141. bPort                     ds.b   1        ; offset: $6 (6)
  142. feed                     ds.b   1        ; offset: $7 (7)
  143. sizeof                     EQU *            ; size:   $8 (8)
  144.                         ENDR
  145.  
  146. ; typedef struct TPrStl     TPrStl, *TPPrStl
  147. TPrXInfo                 RECORD    0
  148. iRowBytes                 ds.w   1        ; offset: $0 (0)
  149. iBandV                     ds.w   1        ; offset: $2 (2)
  150. iBandH                     ds.w   1        ; offset: $4 (4)
  151. iDevBytes                 ds.w   1        ; offset: $6 (6)
  152. iBands                     ds.w   1        ; offset: $8 (8)
  153. bPatScale                 ds.b   1        ; offset: $A (10)
  154. bUlThick                 ds.b   1        ; offset: $B (11)
  155. bUlOffset                 ds.b   1        ; offset: $C (12)
  156. bUlShadow                 ds.b   1        ; offset: $D (13)
  157. scan                     ds.b   1        ; offset: $E (14)
  158. bXInfoX                     ds.b   1        ; offset: $F (15)
  159. sizeof                     EQU *            ; size:   $10 (16)
  160.                         ENDR
  161.  
  162. ; typedef struct TPrXInfo     TPrXInfo, *TPPrXInfo
  163. TPrJob                     RECORD    0
  164. iFstPage                 ds.w   1        ; offset: $0 (0)        ;Page Range.
  165. iLstPage                 ds.w   1        ; offset: $2 (2)
  166. iCopies                     ds.w   1        ; offset: $4 (4)        ;No. copies.
  167. bJDocLoop                 ds.b   1        ; offset: $6 (6)        ;The Doc style: Draft, Spool, .., and ..
  168. fFromUsr                 ds.b   1        ; offset: $7 (7)        ;Printing from an User's App (not PrApp) flag
  169. pIdleProc                 ds.l   1        ; offset: $8 (8)        ;The Proc called while waiting on IO etc.
  170. pFileName                 ds.l   1        ; offset: $C (12)        ;Spool File Name: NIL for default.
  171. iFileVol                 ds.w   1        ; offset: $10 (16)        ;Spool File vol, set to 0 initially
  172. bFileVers                 ds.b   1        ; offset: $12 (18)        ;Spool File version, set to 0 initially
  173. bJobX                     ds.b   1        ; offset: $13 (19)        ;An eXtra byte.
  174. sizeof                     EQU *            ; size:   $14 (20)
  175.                         ENDR
  176.  
  177. ; typedef struct TPrJob     TPrJob, *TPPrJob
  178. ; Print Job: Print "form" for a single print request. 
  179. ; typedef struct TPrint     TPrint, *TPPrint, **THPrint
  180. ; The universal 120 byte printing record 
  181. TPrStatus                 RECORD    0
  182. iTotPages                 ds.w   1        ; offset: $0 (0)        ;Total pages in Print File.
  183. iCurPage                 ds.w   1        ; offset: $2 (2)        ;Current page number
  184. iTotCopies                 ds.w   1        ; offset: $4 (4)        ;Total copies requested
  185. iCurCopy                 ds.w   1        ; offset: $6 (6)        ;Current copy number
  186. iTotBands                 ds.w   1        ; offset: $8 (8)        ;Total bands per page.
  187. iCurBand                 ds.w   1        ; offset: $A (10)        ;Current band number
  188. fPgDirty                 ds.b   1        ; offset: $C (12)        ;True if current page has been written to.
  189. fImaging                 ds.b   1        ; offset: $D (13)        ;Set while in band's DrawPic call.
  190. hPrint                     ds.l   1        ; offset: $E (14)        ;Handle to the active Printer record
  191. pPrPort                     ds.l   1        ; offset: $12 (18)        ;Ptr to the active PrPort
  192. hPic                     ds.l   1        ; offset: $16 (22)        ;Handle to the active Picture
  193. sizeof                     EQU *            ; size:   $1A (26)
  194.                         ENDR
  195.  
  196. ; typedef struct TPrStatus     TPrStatus, *TPPrStatus
  197. ; Print Status: Print information during printing. 
  198. TPfPgDir                 RECORD    0
  199. iPages                     ds.w   1        ; offset: $0 (0)
  200. iPgPos                     ds.l   129        ; offset: $2 (2)        ;ARRAY [0..iPfMaxPgs] OF LONGINT
  201. sizeof                     EQU *            ; size:   $206 (518)
  202.                         ENDR
  203.  
  204. ; typedef struct TPfPgDir     TPfPgDir, *TPPfPgDir, **THPfPgDir
  205. ; PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) 
  206. ; This is the Printing Dialog Record. Only used by folks appending their own
  207. ;   DITLs to the print dialogs.    Print Dialog: The Dialog Stream object. 
  208.     IF STRICT_WINDOWS  THEN
  209. ; typedef Ptr                 TPPrDlg
  210. ; typedef Ptr                 TPPrDlgRef
  211.     ELSE
  212. TPrDlg                     RECORD    0
  213. Dlg                         ds     DialogRecord ; offset: $0 (0)    ;The Dialog window
  214. pFltrProc                 ds.l   1        ; offset: $AA (170)        ;The Filter Proc.
  215. pItemProc                 ds.l   1        ; offset: $AE (174)        ;The Item evaluating proc.
  216. hPrintUsr                 ds.l   1        ; offset: $B2 (178)        ;The user's print record.
  217. fDoIt                     ds.b   1        ; offset: $B6 (182)
  218. fDone                     ds.b   1        ; offset: $B7 (183)
  219. lUser1                     ds.l   1        ; offset: $B8 (184)        ;Four longs for apps to hang global data.
  220. lUser2                     ds.l   1        ; offset: $BC (188)        ;Plus more stuff needed by the particular
  221. lUser3                     ds.l   1        ; offset: $C0 (192)        ;printing dialog.
  222. lUser4                     ds.l   1        ; offset: $C4 (196)
  223. sizeof                     EQU *            ; size:   $C8 (200)
  224.                         ENDR
  225.  
  226. ; typedef struct TPrDlg     TPrDlg
  227. ; typedef TPrDlg             *TPPrDlg
  228. ; typedef TPPrDlg             TPPrDlgRef
  229.     ENDIF
  230. TGnlData                 RECORD    0
  231. iOpCode                     ds.w   1        ; offset: $0 (0)
  232. iError                     ds.w   1        ; offset: $2 (2)
  233. lReserved                 ds.l   1        ; offset: $4 (4)        ;more fields here depending on call
  234. sizeof                     EQU *            ; size:   $8 (8)
  235.                         ENDR
  236.  
  237. ; typedef struct TGnlData     TGnlData
  238. TRslRg                     RECORD    0
  239. iMin                     ds.w   1        ; offset: $0 (0)
  240. iMax                     ds.w   1        ; offset: $2 (2)
  241. sizeof                     EQU *            ; size:   $4 (4)
  242.                         ENDR
  243.  
  244. ; typedef struct TRslRg     TRslRg
  245. TRslRec                 RECORD    0
  246. iXRsl                     ds.w   1        ; offset: $0 (0)
  247. iYRsl                     ds.w   1        ; offset: $2 (2)
  248. sizeof                     EQU *            ; size:   $4 (4)
  249.                         ENDR
  250.  
  251. ; typedef struct TRslRec     TRslRec
  252. TGetRslBlk                 RECORD    0
  253. iOpCode                     ds.w   1        ; offset: $0 (0)
  254. iError                     ds.w   1        ; offset: $2 (2)
  255. lReserved                 ds.l   1        ; offset: $4 (4)
  256. iRgType                     ds.w   1        ; offset: $8 (8)
  257. xRslRg                     ds     TRslRg    ; offset: $A (10)
  258. yRslRg                     ds     TRslRg    ; offset: $E (14)
  259. iRslRecCnt                 ds.w   1        ; offset: $12 (18)
  260. rgRslRec                 ds.b   27 * TRslRec.sizeof ; offset: $14 (20)
  261. sizeof                     EQU *            ; size:   $80 (128)
  262.                         ENDR
  263.  
  264. ; typedef struct TGetRslBlk  TGetRslBlk
  265. TSetRslBlk                 RECORD    0
  266. iOpCode                     ds.w   1        ; offset: $0 (0)
  267. iError                     ds.w   1        ; offset: $2 (2)
  268. lReserved                 ds.l   1        ; offset: $4 (4)
  269. hPrint                     ds.l   1        ; offset: $8 (8)
  270. iXRsl                     ds.w   1        ; offset: $C (12)
  271. iYRsl                     ds.w   1        ; offset: $E (14)
  272. sizeof                     EQU *            ; size:   $10 (16)
  273.                         ENDR
  274.  
  275. ; typedef struct TSetRslBlk  TSetRslBlk
  276. TDftBitsBlk             RECORD    0
  277. iOpCode                     ds.w   1        ; offset: $0 (0)
  278. iError                     ds.w   1        ; offset: $2 (2)
  279. lReserved                 ds.l   1        ; offset: $4 (4)
  280. hPrint                     ds.l   1        ; offset: $8 (8)
  281. sizeof                     EQU *            ; size:   $C (12)
  282.                         ENDR
  283.  
  284. ; typedef struct TDftBitsBlk  TDftBitsBlk
  285. TGetRotnBlk             RECORD    0
  286. iOpCode                     ds.w   1        ; offset: $0 (0)
  287. iError                     ds.w   1        ; offset: $2 (2)
  288. lReserved                 ds.l   1        ; offset: $4 (4)
  289. hPrint                     ds.l   1        ; offset: $8 (8)
  290. fLandscape                 ds.b   1        ; offset: $C (12)
  291. bXtra                     ds.b   1        ; offset: $D (13)
  292. sizeof                     EQU *            ; size:   $E (14)
  293.                         ENDR
  294.  
  295. ; typedef struct TGetRotnBlk  TGetRotnBlk
  296. ;
  297. ; pascal void PrPurge(void)
  298. ;
  299.     IF ¬ GENERATINGCFM THEN
  300.         Macro
  301.         _PrPurge
  302.             dc.w     $2F3C
  303.             dc.w     $A800
  304.             dc.w     $0000
  305.             dc.w     $A8FD
  306.         EndM
  307.     ELSE
  308.         IMPORT_CFM_FUNCTION    PrPurge
  309.     ENDIF
  310.  
  311. ;
  312. ; pascal void PrNoPurge(void)
  313. ;
  314.     IF ¬ GENERATINGCFM THEN
  315.         Macro
  316.         _PrNoPurge
  317.             dc.w     $2F3C
  318.             dc.w     $B000
  319.             dc.w     $0000
  320.             dc.w     $A8FD
  321.         EndM
  322.     ELSE
  323.         IMPORT_CFM_FUNCTION    PrNoPurge
  324.     ENDIF
  325.  
  326. ;
  327. ; pascal void PrOpen(void)
  328. ;
  329.     IF ¬ GENERATINGCFM THEN
  330.         Macro
  331.         _PrOpen
  332.             dc.w     $2F3C
  333.             dc.w     $C800
  334.             dc.w     $0000
  335.             dc.w     $A8FD
  336.         EndM
  337.     ELSE
  338.         IMPORT_CFM_FUNCTION    PrOpen
  339.     ENDIF
  340.  
  341. ;
  342. ; pascal void PrClose(void)
  343. ;
  344.     IF ¬ GENERATINGCFM THEN
  345.         Macro
  346.         _PrClose
  347.             dc.w     $2F3C
  348.             dc.w     $D000
  349.             dc.w     $0000
  350.             dc.w     $A8FD
  351.         EndM
  352.     ELSE
  353.         IMPORT_CFM_FUNCTION    PrClose
  354.     ENDIF
  355.  
  356. ;
  357. ; pascal void PrintDefault(THPrint hPrint)
  358. ;
  359.     IF ¬ GENERATINGCFM THEN
  360.         Macro
  361.         _PrintDefault
  362.             dc.w     $2F3C
  363.             dc.w     $2004
  364.             dc.w     $0480
  365.             dc.w     $A8FD
  366.         EndM
  367.     ELSE
  368.         IMPORT_CFM_FUNCTION    PrintDefault
  369.     ENDIF
  370.  
  371. ;
  372. ; pascal Boolean PrValidate(THPrint hPrint)
  373. ;
  374.     IF ¬ GENERATINGCFM THEN
  375.         Macro
  376.         _PrValidate
  377.             dc.w     $2F3C
  378.             dc.w     $5204
  379.             dc.w     $0498
  380.             dc.w     $A8FD
  381.         EndM
  382.     ELSE
  383.         IMPORT_CFM_FUNCTION    PrValidate
  384.     ENDIF
  385.  
  386. ;
  387. ; pascal Boolean PrStlDialog(THPrint hPrint)
  388. ;
  389.     IF ¬ GENERATINGCFM THEN
  390.         Macro
  391.         _PrStlDialog
  392.             dc.w     $2F3C
  393.             dc.w     $2A04
  394.             dc.w     $0484
  395.             dc.w     $A8FD
  396.         EndM
  397.     ELSE
  398.         IMPORT_CFM_FUNCTION    PrStlDialog
  399.     ENDIF
  400.  
  401. ;
  402. ; pascal Boolean PrJobDialog(THPrint hPrint)
  403. ;
  404.     IF ¬ GENERATINGCFM THEN
  405.         Macro
  406.         _PrJobDialog
  407.             dc.w     $2F3C
  408.             dc.w     $3204
  409.             dc.w     $0488
  410.             dc.w     $A8FD
  411.         EndM
  412.     ELSE
  413.         IMPORT_CFM_FUNCTION    PrJobDialog
  414.     ENDIF
  415.  
  416. ;
  417. ; pascal TPPrDlg PrStlInit(THPrint hPrint)
  418. ;
  419.     IF ¬ GENERATINGCFM THEN
  420.         Macro
  421.         _PrStlInit
  422.             dc.w     $2F3C
  423.             dc.w     $3C04
  424.             dc.w     $040C
  425.             dc.w     $A8FD
  426.         EndM
  427.     ELSE
  428.         IMPORT_CFM_FUNCTION    PrStlInit
  429.     ENDIF
  430.  
  431. ;
  432. ; pascal TPPrDlg PrJobInit(THPrint hPrint)
  433. ;
  434.     IF ¬ GENERATINGCFM THEN
  435.         Macro
  436.         _PrJobInit
  437.             dc.w     $2F3C
  438.             dc.w     $4404
  439.             dc.w     $0410
  440.             dc.w     $A8FD
  441.         EndM
  442.     ELSE
  443.         IMPORT_CFM_FUNCTION    PrJobInit
  444.     ENDIF
  445.  
  446. ;
  447. ; pascal void PrJobMerge(THPrint hPrintSrc, THPrint hPrintDst)
  448. ;
  449.     IF ¬ GENERATINGCFM THEN
  450.         Macro
  451.         _PrJobMerge
  452.             dc.w     $2F3C
  453.             dc.w     $5804
  454.             dc.w     $089C
  455.             dc.w     $A8FD
  456.         EndM
  457.     ELSE
  458.         IMPORT_CFM_FUNCTION    PrJobMerge
  459.     ENDIF
  460.  
  461. ;
  462. ; pascal Boolean PrDlgMain(THPrint hPrint, PDlgInitUPP pDlgInit)
  463. ;
  464.     IF ¬ GENERATINGCFM THEN
  465.         Macro
  466.         _PrDlgMain
  467.             dc.w     $2F3C
  468.             dc.w     $4A04
  469.             dc.w     $0894
  470.             dc.w     $A8FD
  471.         EndM
  472.     ELSE
  473.         IMPORT_CFM_FUNCTION    PrDlgMain
  474.     ENDIF
  475.  
  476. ;
  477. ; pascal TPPrPort PrOpenDoc(THPrint hPrint, TPPrPort pPrPort, Ptr pIOBuf)
  478. ;
  479.     IF ¬ GENERATINGCFM THEN
  480.         Macro
  481.         _PrOpenDoc
  482.             dc.w     $2F3C
  483.             dc.w     $0400
  484.             dc.w     $0C00
  485.             dc.w     $A8FD
  486.         EndM
  487.     ELSE
  488.         IMPORT_CFM_FUNCTION    PrOpenDoc
  489.     ENDIF
  490.  
  491. ;
  492. ; pascal void PrCloseDoc(TPPrPort pPrPort)
  493. ;
  494.     IF ¬ GENERATINGCFM THEN
  495.         Macro
  496.         _PrCloseDoc
  497.             dc.w     $2F3C
  498.             dc.w     $0800
  499.             dc.w     $0484
  500.             dc.w     $A8FD
  501.         EndM
  502.     ELSE
  503.         IMPORT_CFM_FUNCTION    PrCloseDoc
  504.     ENDIF
  505.  
  506. ;
  507. ; pascal void PrOpenPage(TPPrPort pPrPort, TPRect pPageFrame)
  508. ;
  509.     IF ¬ GENERATINGCFM THEN
  510.         Macro
  511.         _PrOpenPage
  512.             dc.w     $2F3C
  513.             dc.w     $1000
  514.             dc.w     $0808
  515.             dc.w     $A8FD
  516.         EndM
  517.     ELSE
  518.         IMPORT_CFM_FUNCTION    PrOpenPage
  519.     ENDIF
  520.  
  521. ;
  522. ; pascal void PrClosePage(TPPrPort pPrPort)
  523. ;
  524.     IF ¬ GENERATINGCFM THEN
  525.         Macro
  526.         _PrClosePage
  527.             dc.w     $2F3C
  528.             dc.w     $1800
  529.             dc.w     $040C
  530.             dc.w     $A8FD
  531.         EndM
  532.     ELSE
  533.         IMPORT_CFM_FUNCTION    PrClosePage
  534.     ENDIF
  535.  
  536. ;
  537. ; pascal void PrPicFile(THPrint hPrint, TPPrPort pPrPort, Ptr pIOBuf, Ptr pDevBuf, TPrStatus *prStatus)
  538. ;
  539.     IF ¬ GENERATINGCFM THEN
  540.         Macro
  541.         _PrPicFile
  542.             dc.w     $2F3C
  543.             dc.w     $6005
  544.             dc.w     $1480
  545.             dc.w     $A8FD
  546.         EndM
  547.     ELSE
  548.         IMPORT_CFM_FUNCTION    PrPicFile
  549.     ENDIF
  550.  
  551. ;
  552. ; pascal short PrError(void)
  553. ;
  554.     IF ¬ GENERATINGCFM THEN
  555.         Macro
  556.         _PrError
  557.             dc.w     $2F3C
  558.             dc.w     $BA00
  559.             dc.w     $0000
  560.             dc.w     $A8FD
  561.         EndM
  562.     ELSE
  563.         IMPORT_CFM_FUNCTION    PrError
  564.     ENDIF
  565.  
  566. ;
  567. ; pascal void PrSetError(short iErr)
  568. ;
  569.     IF ¬ GENERATINGCFM THEN
  570.         Macro
  571.         _PrSetError
  572.             dc.w     $2F3C
  573.             dc.w     $C000
  574.             dc.w     $0200
  575.             dc.w     $A8FD
  576.         EndM
  577.     ELSE
  578.         IMPORT_CFM_FUNCTION    PrSetError
  579.     ENDIF
  580.  
  581. ;
  582. ; pascal void PrGeneral(Ptr pData)
  583. ;
  584.     IF ¬ GENERATINGCFM THEN
  585.         Macro
  586.         _PrGeneral
  587.             dc.w     $2F3C
  588.             moveq    #7,d0
  589.             dc.w     $0480
  590.             dc.w     $A8FD
  591.         EndM
  592.     ELSE
  593.         IMPORT_CFM_FUNCTION    PrGeneral
  594.     ENDIF
  595.  
  596. ;
  597. ; pascal void PrDrvrOpen(void)
  598. ;
  599.     IF ¬ GENERATINGCFM THEN
  600.         Macro
  601.         _PrDrvrOpen
  602.             dc.w     $2F3C
  603.             dc.w     $8000
  604.             dc.w     $0000
  605.             dc.w     $A8FD
  606.         EndM
  607.     ELSE
  608.         IMPORT_CFM_FUNCTION    PrDrvrOpen
  609.     ENDIF
  610.  
  611. ;
  612. ; pascal void PrDrvrClose(void)
  613. ;
  614.     IF ¬ GENERATINGCFM THEN
  615.         Macro
  616.         _PrDrvrClose
  617.             dc.w     $2F3C
  618.             dc.w     $8800
  619.             dc.w     $0000
  620.             dc.w     $A8FD
  621.         EndM
  622.     ELSE
  623.         IMPORT_CFM_FUNCTION    PrDrvrClose
  624.     ENDIF
  625.  
  626. ;
  627. ; pascal void PrCtlCall(short iWhichCtl, long lParam1, long lParam2, long lParam3)
  628. ;
  629.     IF ¬ GENERATINGCFM THEN
  630.         Macro
  631.         _PrCtlCall
  632.             dc.w     $2F3C
  633.             dc.w     $A000
  634.             dc.w     $0E00
  635.             dc.w     $A8FD
  636.         EndM
  637.     ELSE
  638.         IMPORT_CFM_FUNCTION    PrCtlCall
  639.     ENDIF
  640.  
  641. ;
  642. ; pascal Handle PrDrvrDCE(void)
  643. ;
  644.     IF ¬ GENERATINGCFM THEN
  645.         Macro
  646.         _PrDrvrDCE
  647.             dc.w     $2F3C
  648.             dc.w     $9400
  649.             dc.w     $0000
  650.             dc.w     $A8FD
  651.         EndM
  652.     ELSE
  653.         IMPORT_CFM_FUNCTION    PrDrvrDCE
  654.     ENDIF
  655.  
  656. ;
  657. ; pascal short PrDrvrVers(void)
  658. ;
  659.     IF ¬ GENERATINGCFM THEN
  660.         Macro
  661.         _PrDrvrVers
  662.             dc.w     $2F3C
  663.             dc.w     $9A00
  664.             dc.w     $0000
  665.             dc.w     $A8FD
  666.         EndM
  667.     ELSE
  668.         IMPORT_CFM_FUNCTION    PrDrvrVers
  669.     ENDIF
  670.  
  671.     ENDIF ; __PRINTING__
  672.